2013年计算机二级考试C++模拟试题二及答案2 |
来源:2exam.com 2013-7-18 |
二、改错题 使用VC6打开考生文件夹下的工程kt1_1,此工程包含一个源程序文件kt1_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果为: Whichact(aorb)?b act1 act2 Bact3 Bact4 Bend 源程序文件kt1_1.cpp清单如下: #include classA {public: virtualvoidact1(){cout<<"act1\n";act2();} voidact2(){cout<<"act2\n";act3();} voidact3(){cout<<"Aact3\n";act4();} virtualvoidact4{cout<<"Aact4\n";act5();} voidact5(){cout<<"Aend\n";} }; classB:publicA { voidact3(){cout<<"Bact3\n";act4();} voidact4(){cout<<"Bact4\n";act5();} voidact5(){cout<<"Bend\n";} }; voidmain(void) { charc; A*a; cout<<"Whichact(aorb)?"; cin< if(c=='a') a=newA; else a=newB; a->act1(); deletea; 【参考答案】 (1)将void act3(){cout<<"Aact3\n";act4();} 改为:virtual void act3(){cout<<"Aact3\n";act4();} (2)将virtual void act4{cout<<"Aact4\n";act5();} 改为:virtual void act4(){cout<<"Aact4\n";act5();} (3)将cin< 改为:cin>>c; 【试题解析】 (1)主要考查对虚函数使用规则的理解,要实现对函数act3的动态联编应该使用虚函数,这样在本题中对于函数的调用才能实现根据不同对象调用不同函数; (2)主要考查对函数定义的掌握,虽然参数表为空,但括号是不能省略的; (3)主要考查是否会使用流输入操作,本题中使用的是流输出符。
|
网站版权与免责声明
①由于各方面情况的不断调整与变化,本网所提供的相关信息请以权威部门公布的正式信息为准.
②本网转载的文/图等稿件出于非商业性目的,如转载稿涉及版权等问题,请在两周内来电联系. |
|
|
|